<% layout('/layouts/default.html', {title: 'quartz定时任务表管理', libs: ['dataGrid']}){ %>
<div class="main-content">
	<div class="box box-main">
		<div class="box-header">
			<div class="box-title">
				<i class="fa icon-notebook"></i> ${text('quartz定时任务表管理')}
			</div>
			<div class="box-tools pull-right">
				<a href="#" class="btn btn-default" id="btnSearch" title="${text('查询')}"><i class="fa fa-filter"></i> ${text('查询')}</a>
				<% if(hasPermi('quartz:quartzJob:edit')){ %>
				<a href="${ctx}/quartz/quartzJob/form" class="btn btn-default btnTool" title="${text('新增quartz定时任务表')}"><i class="fa fa-plus"></i> ${text('新增')}</a>
				<% } %>
			</div>
		</div>
		<div class="box-body">
			<#form:form id="searchForm" model="${quartzJob}" action="${ctx}/quartz/quartzJob/listData" method="post" class="form-inline hide"
			data-page-no="${parameter.pageNo}" data-page-size="${parameter.pageSize}" data-order-by="${parameter.orderBy}">
			<div class="form-group">
				<label class="control-label">${text('任务类名')}：</label>
				<div class="control-inline">
					<#form:input path="jobClassName" maxlength="255" class="form-control width-120"/>
				</div>
			</div>
			<div class="form-group">
				<label class="control-label">${text('描述')}：</label>
				<div class="control-inline">
					<#form:input path="description" maxlength="255" class="form-control width-120"/>
				</div>
			</div>
			<div class="form-group">
				<label class="control-label">${text('状态')}：</label>
				<div class="control-inline width-120">
					<#form:select path="status" dictType="sys_search_status" blankOption="true" class="form-control"/>
				</div>
			</div>
			<div class="form-group">
				<label class="control-label">${text('cron表达式')}：</label>
				<div class="control-inline">
					<#form:input path="cronExpression" maxlength="255" class="form-control width-120"/>
				</div>
			</div>
			<div class="form-group">
				<label class="control-label">${text('参数')}：</label>
				<div class="control-inline">
					<#form:input path="parameter" maxlength="255" class="form-control width-120"/>
				</div>
			</div>
			<div class="form-group">
				<label class="control-label">${text('创建时间')}：</label>
				<div class="control-inline">
					<#form:input path="createTime" readonly="true" maxlength="20" class="form-control Wdate-datetime"
					dataFormat="datetime" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm',isShowClear:false});"/>
				</div>
			</div>
			<div class="form-group" style="display: none">
				<label class="control-label">${text('删除状态')}：</label>
				<div class="control-inline">
					<#form:input path="delFlag" maxlength="10" class="form-control width-120"/>
				</div>
			</div>
			<div class="form-group">
				<label class="control-label">${text('修改时间')}：</label>
				<div class="control-inline">
					<#form:input path="updateTime" readonly="true" maxlength="20" class="form-control Wdate-datetime"
					dataFormat="datetime" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm',isShowClear:false});"/>
				</div>
			</div>
			<div class="form-group">
				<button type="submit" class="btn btn-primary btn-sm">${text('查询')}</button>
				<button type="reset" class="btn btn-default btn-sm">${text('重置')}</button>
			</div>
		</#form:form>
		<table id="dataGrid"></table>
		<div id="dataGridPage"></div>
	</div>
</div>
</div>
<% } %>
<script>
	// 初始化DataGrid对象
	$('#dataGrid').dataGrid({
		searchForm: $("#searchForm"),
		columnModel: [
			{header:'${text("任务类名")}', name:'jobClassName', index:'a.job_class_name', width:220, align:"left", frozen:true, formatter: function(val, obj, row, act){
					return '<a href="${ctx}/quartz/quartzJob/form?id='+row.id+'" class="btnList" data-title="${text("编辑quartz定时任务表")}">'+(val||row.id)+'</a>';
				}},
			{header:'${text("描述")}', name:'description', index:'a.description', width:200, align:"left"},
			{header:'${text("状态")}', name:'status', index:'a.status', width:60, align:"center", formatter: function(val, obj, row, act){
					return js.getDictLabel(${@DictUtils.getDictListJson('sys_search_status')}, val, '${text("未知")}', true);
				}},
			{header:'${text("cron表达式")}', name:'cronExpression', index:'a.cron_expression', width:120, align:"left"},
			{header:'${text("参数")}', name:'parameter', index:'a.parameter', width:120, align:"left"},
			{header:'${text("创建时间")}', name:'createTime', index:'a.create_time', width:130, align:"center",hidden:true},
			{header:'${text("删除状态")}', name:'delFlag', index:'a.del_flag', width:150, align:"left",hidden:true},
			{header:'${text("修改时间")}', name:'updateTime', index:'a.update_time', width:130, align:"center"},
			{header:'${text("操作")}', name:'actions', width:120, sortable:false, title:false, formatter: function(val, obj, row, act){
					var actions = [];
					<% if(hasPermi('quartz:quartzJob:edit')){ %>
						actions.push('<a href="${ctx}/quartz/quartzJob/form?id='+row.id+'" class="btnList" title="${text("编辑Quartz定时任务")}"><i class="fa fa-pencil"></i></a>&nbsp;');
						actions.push('<a href="${ctx}/quartz/quartzJob/delete?id='+row.id+'" class="btnList" title="${text("删除Quartz定时任务")}" data-confirm="${text("确认要删除该定时任务吗？")}"><i class="fa fa-trash-o"></i></a>&nbsp;');
						if(row.status == "0"){
							actions.push('<a href="javascript:void(0);" onclick="switchQuartz(\''+row.id+'\',\'2\')"  title="${text("暂停定时任务")}"><i class="fa fa-pause-circle-o"></i></a>&nbsp;');
						}else{
							actions.push('<a href="javascript:void(0);" onclick="switchQuartz(\''+row.id+'\',\'0\')" title="${text("启动定时任务")}"><i class="fa fa-play-circle-o"></i></a>&nbsp;');
						}

					<% } %>
					return actions.join('');
				}}
		],
		// 加载成功后执行事件
		ajaxSuccess: function(data){

		}
	});

	/**
	 * 切换状态
	 * @param id 主键
	 * @param status 状态
	 */
	function switchQuartz(id, status) {
		debugger
		$.ajax({
			type: "post",
			url: "${ctx}/quartz/quartzJob/switch",
			data: {"id": id, "status": status},
			dataType: "json",
			success: function (data) {
				// console.log(data);
				if(data.code=="ok"){
					//当执行成功后，执行如下代码
					$('#dataGrid').trigger("reloadGrid");
					if(status == "0"){
						layer.msg("启动成功");
					}else{
						layer.msg("暂停成功");
					}
				}else{
					layer.alert(data.msg);
				}

			},
			error: function (xml, code) {
				console.log(xml.responseText);
				layer.alert("提交数据失败,请确认任务类名的全称是否正确!");
			}
		});
	}
</script>
